# 应用入口文件
from flask import Flask, render_template, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from config import config
import os

# 初始化数据库
db = SQLAlchemy()

# 创建应用函数
def create_app(config_name=None):
    if config_name is None:
        config_name = os.environ.get('FLASK_CONFIG', 'default')
        
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    
    # 初始化数据库
    db.init_app(app)
    
    # 注册蓝图
    from routes.main import main as main_blueprint
    app.register_blueprint(main_blueprint)
    
    # 错误处理
    @app.errorhandler(404)
    def page_not_found(e):
        return render_template('404.html'), 404
    
    @app.errorhandler(500)
    def internal_server_error(e):
        return render_template('500.html'), 500
    
    return app

# 如果直接运行此文件，则启动应用
if __name__ == '__main__':
    app = create_app()
    app.run(debug=True)